<?php
/**
 * alltosun.com 表情函数库 emotion_helper.php
 * ============================================================================
 * 版权所有 (C) 2009-2013 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址:   http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
 * $Author: 李维 (liw@alltosun.com) $
 * $Date: 2013-4-20 下午5:32:47 $
 * $Id$
*/

/* $str = '张三啊，你好你好吗<br>hao<br><br><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif"><img title="差劲" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/86.gif">fafafaf<img title="奋斗" class="js_faceImg" src="http://res.mail.qq.com/zh_CN/images/mo/DEFAULT2/30.gif">fafaf11<br>';
$pattern = '/(<img title="(.+?)".+?>)/';
$flag = preg_match_all($pattern, $str, $matches);
var_dump($flag, $matches); */

class emotion_helper
{

    /**
     * 解析code生成的
     * @param unknown_type $str
     */
    public static function parse_code($str)
    {
        foreach ( emotion_config::$code_map as $k=>$v ) {
            $str = str_replace($k, $v, $str);
        }
        return $str;
    }

    /**
     * 表情替换成文本
     * @param string $str
     * @return string
     */
    public static function image_to_str($str)
    {
        $pattern = '/(<img title="(.+?)".+?>)/';
        $flag = preg_match_all($pattern, $str, $matches);
        //var_dump($flag, $matches);
        if ($flag && isset($matches[2]) && $matches[2]) {
            foreach ($matches[2] as $k=>$v) {
                $str = str_replace($matches[1][$k], '['.$v.']', $str);
            }
        }

        return $str;
    }

    // 表情变文字码
    public static function emoji_to_code($str)
    {
        foreach ( emotion_config::$emoji_map as $k=>$v ) {
            $str = str_replace($k, $v, $str);
        }

        return $str;
    }

    // 文字码转为图片
    public static function emoji_code_to_str($str)
    {
        //1f49d1f4511f33acrystal1f33a1f4511f49d
        foreach ( emotion_config::$emoji_map as $k=>$v ) {
            $str = str_replace($v, '<b class="emoji emoji'.$v.'"></b>', $str);
            //$str = preg_replace('/('.$v.')/', '<b class="emoji emoji\1"></b>', $str, 1);
            //$str = preg_replace('/('.$v.')[^\"]/', '<span class="emoji emoji'.$v.'"></span>', $str);
        }

        return $str;
    }
}
?>